1. Field of the Invention
The present invention relates to provisioning devices in a network.
2. Description of the Related Art
Bar codes containing a Universal Product Code (“UPC”) have become a nearly ubiquitous feature of modern life. The vast majority of products, as well as packages, containers and other elements in the stream of commerce now bear a bar code to allow for convenient tracking and inventory control.
However, bar codes have some drawbacks. Bar codes are “read only,” in that they are merely a printed set of machine-readable parallel bars that cannot be updated. Bar codes cannot transmit information, but instead must be read by a scanner. Bar codes must be scanned within a relatively short distance and must be properly oriented for the bar code to be read.
“Smart labels,” generally implemented by RFID tags, have been developed in an effort to address the shortcomings of bar codes and add greater functionality. RFID tags have been used to keep track of items such as airline baggage, items of clothing in a retail environment, cows and highway tolls. As shown in FIG. 1, an RFID tag 100 includes microprocessor 105 and antenna 110. In this example, RFID tag 100 is powered by a magnetic field 145 generated by an RFID reader 125. The tag's antenna 110 picks up the magnetic signal 145. RFID tag 100 modulates the signal 145 according to information coded in the tag and transmits the modulated signal 155 to the RFID reader 125.
Most RFID tags use one of the Electronic Product Code (“EPC” or “ePC”) formats for encoding information. EPC codes may be formed in various lengths (common formats are 64, 96 and 128 bits) and have various types of defined fields, which allow for identification of, e.g., individual products as well as associated information. These formats are defined in various documents in the public domain. One such document is EPC Tag Data Standards Version 1.1 Rev 1.24 (EPCglobal® 2004), which is hereby incorporated by reference for all purposes.
One exemplary RFID tag format is shown in FIG. 1. Here, EPC 120 includes header 130, EPC Manager field 140, Object class field 150 and serial number field 160. EPC Manager field 140 contains manufacturer information. Object class field 150 includes a product's stock-keeping unit (“SKU”) number. Serial number field 160 is a 40-bit field that can uniquely identify the specific instance of an individual product i.e., not just a make or model, but also down to a specific “serial number” of a make and model.
In theory, RFID tags and associated RFID devices (such as RFID readers and printers) could form part of a network for tracking a product (or a group of products) and its history. However, various difficulties have prevented this theory from being realized. One problem that has required considerable time and energy from RF engineers is the development of lower-cost RFID tags with acceptable performance levels. Inductively-coupled RFID tags have acceptable performance levels. These tags include a microprocessor, a metal coil and glass or polymer encapsulating material. Unfortunately, the materials used in inductively-coupled RFID tags make them too expensive for widespread use: a passive button tag costs approximately $1 and a battery-powered read/write tag may cost $100 or more.
Capacitively-coupled RFID tags use conductive ink instead of the metal coil used in inductive RFID tags. The ink is printed on a paper label by an RFID printer, creating a lower-cost, disposable RFID tag. However, conventional capacitively-coupled RFID tags have a very limited range. In recent years, RF engineers have been striving to extend the range of capacitively-coupled RFID tags beyond approximately one centimeter.
In part because of the significant efforts that have been expended in solving the foregoing problems, prior art systems and methods for networking RFID devices are rather primitive. RFID devices have only recently been deployed with network interfaces. Device provisioning for prior art RFID devices is not automatic, but instead requires a time-consuming process for configuring each individual device. Prior art RFID devices and systems are not suitable for large-scale deployment of networks of RFID devices.
Conventional RFID devices also have a small amount of available memory. A typical RFID device may have approximately 0.5 Mb of flash memory and a total of 1 Mb of overall memory. The small memories of RFID devices place restrictions on the range of possible solutions to the problems noted herein. In addition, an RFID device typically uses a proprietary operating system, e.g., of the manufacturer of the microprocessor(s) used in the RFID device.
Moreover, many RFID devices are deployed in a hostile industrial environment (such as a warehouse or factory) by relatively unskilled “IT” personnel. If a device deployed in one location fails, for example, it may simply be removed and replaced by a functioning device that was deployed in another location. Therefore, it would be desirable to provide methods and devices for uniquely and individually identifying RFID devices and their precise location in a network.
In addition, RFID devices are being deployed with “static” knowledge of where the device was deployed at the original time of deployment. In practice, RFID devices are moved if another device is damaged or not functioning. In general, it is desirable to allow for the movement of RFID devices. However, if an RFID device is moved, prior art systems do not know to what location the RFID device has been moved.
It would also be desirable to provision such RFID devices automatically for their expected use. RFID devices perform different functions and may interface to the upstream systems differently depending on where they are located. The functions they perform, as well as the unique settings to perform those functions, will be referred to herein as the device “personality.” It would be desirable not only to identify an RFID device and to determine its location, but also to provision, configure and deploy software and firmware to allow the RFID device to perform various functions and roles based on location. As used herein, “provisioning” a device can include, but is not limited to, providing network configuration, providing personality configuration, incorporating the device into a network database and enabling the device with software (e.g., business process software). It would also be desirable to provide for convenient reprovisioning and personality updates of RFID devices.